package com.lwlk.zdk.model.pw;

import java.util.ArrayList;
import java.util.List;

public class pwAssessGradeExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public pwAssessGradeExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andAssessNameIsNull() {
            addCriterion("assess_name is null");
            return (Criteria) this;
        }

        public Criteria andAssessNameIsNotNull() {
            addCriterion("assess_name is not null");
            return (Criteria) this;
        }

        public Criteria andAssessNameEqualTo(String value) {
            addCriterion("assess_name =", value, "assessName");
            return (Criteria) this;
        }

        public Criteria andAssessNameNotEqualTo(String value) {
            addCriterion("assess_name <>", value, "assessName");
            return (Criteria) this;
        }

        public Criteria andAssessNameGreaterThan(String value) {
            addCriterion("assess_name >", value, "assessName");
            return (Criteria) this;
        }

        public Criteria andAssessNameGreaterThanOrEqualTo(String value) {
            addCriterion("assess_name >=", value, "assessName");
            return (Criteria) this;
        }

        public Criteria andAssessNameLessThan(String value) {
            addCriterion("assess_name <", value, "assessName");
            return (Criteria) this;
        }

        public Criteria andAssessNameLessThanOrEqualTo(String value) {
            addCriterion("assess_name <=", value, "assessName");
            return (Criteria) this;
        }

        public Criteria andAssessNameLike(String value) {
            addCriterion("assess_name like", value, "assessName");
            return (Criteria) this;
        }

        public Criteria andAssessNameNotLike(String value) {
            addCriterion("assess_name not like", value, "assessName");
            return (Criteria) this;
        }

        public Criteria andAssessNameIn(List<String> values) {
            addCriterion("assess_name in", values, "assessName");
            return (Criteria) this;
        }

        public Criteria andAssessNameNotIn(List<String> values) {
            addCriterion("assess_name not in", values, "assessName");
            return (Criteria) this;
        }

        public Criteria andAssessNameBetween(String value1, String value2) {
            addCriterion("assess_name between", value1, value2, "assessName");
            return (Criteria) this;
        }

        public Criteria andAssessNameNotBetween(String value1, String value2) {
            addCriterion("assess_name not between", value1, value2, "assessName");
            return (Criteria) this;
        }

        public Criteria andAssessPeriodIsNull() {
            addCriterion("assess_period is null");
            return (Criteria) this;
        }

        public Criteria andAssessPeriodIsNotNull() {
            addCriterion("assess_period is not null");
            return (Criteria) this;
        }

        public Criteria andAssessPeriodEqualTo(String value) {
            addCriterion("assess_period =", value, "assessPeriod");
            return (Criteria) this;
        }

        public Criteria andAssessPeriodNotEqualTo(String value) {
            addCriterion("assess_period <>", value, "assessPeriod");
            return (Criteria) this;
        }

        public Criteria andAssessPeriodGreaterThan(String value) {
            addCriterion("assess_period >", value, "assessPeriod");
            return (Criteria) this;
        }

        public Criteria andAssessPeriodGreaterThanOrEqualTo(String value) {
            addCriterion("assess_period >=", value, "assessPeriod");
            return (Criteria) this;
        }

        public Criteria andAssessPeriodLessThan(String value) {
            addCriterion("assess_period <", value, "assessPeriod");
            return (Criteria) this;
        }

        public Criteria andAssessPeriodLessThanOrEqualTo(String value) {
            addCriterion("assess_period <=", value, "assessPeriod");
            return (Criteria) this;
        }

        public Criteria andAssessPeriodLike(String value) {
            addCriterion("assess_period like", value, "assessPeriod");
            return (Criteria) this;
        }

        public Criteria andAssessPeriodNotLike(String value) {
            addCriterion("assess_period not like", value, "assessPeriod");
            return (Criteria) this;
        }

        public Criteria andAssessPeriodIn(List<String> values) {
            addCriterion("assess_period in", values, "assessPeriod");
            return (Criteria) this;
        }

        public Criteria andAssessPeriodNotIn(List<String> values) {
            addCriterion("assess_period not in", values, "assessPeriod");
            return (Criteria) this;
        }

        public Criteria andAssessPeriodBetween(String value1, String value2) {
            addCriterion("assess_period between", value1, value2, "assessPeriod");
            return (Criteria) this;
        }

        public Criteria andAssessPeriodNotBetween(String value1, String value2) {
            addCriterion("assess_period not between", value1, value2, "assessPeriod");
            return (Criteria) this;
        }

        public Criteria andAssessNumberIsNull() {
            addCriterion("assess_number is null");
            return (Criteria) this;
        }

        public Criteria andAssessNumberIsNotNull() {
            addCriterion("assess_number is not null");
            return (Criteria) this;
        }

        public Criteria andAssessNumberEqualTo(String value) {
            addCriterion("assess_number =", value, "assessNumber");
            return (Criteria) this;
        }

        public Criteria andAssessNumberNotEqualTo(String value) {
            addCriterion("assess_number <>", value, "assessNumber");
            return (Criteria) this;
        }

        public Criteria andAssessNumberGreaterThan(String value) {
            addCriterion("assess_number >", value, "assessNumber");
            return (Criteria) this;
        }

        public Criteria andAssessNumberGreaterThanOrEqualTo(String value) {
            addCriterion("assess_number >=", value, "assessNumber");
            return (Criteria) this;
        }

        public Criteria andAssessNumberLessThan(String value) {
            addCriterion("assess_number <", value, "assessNumber");
            return (Criteria) this;
        }

        public Criteria andAssessNumberLessThanOrEqualTo(String value) {
            addCriterion("assess_number <=", value, "assessNumber");
            return (Criteria) this;
        }

        public Criteria andAssessNumberLike(String value) {
            addCriterion("assess_number like", value, "assessNumber");
            return (Criteria) this;
        }

        public Criteria andAssessNumberNotLike(String value) {
            addCriterion("assess_number not like", value, "assessNumber");
            return (Criteria) this;
        }

        public Criteria andAssessNumberIn(List<String> values) {
            addCriterion("assess_number in", values, "assessNumber");
            return (Criteria) this;
        }

        public Criteria andAssessNumberNotIn(List<String> values) {
            addCriterion("assess_number not in", values, "assessNumber");
            return (Criteria) this;
        }

        public Criteria andAssessNumberBetween(String value1, String value2) {
            addCriterion("assess_number between", value1, value2, "assessNumber");
            return (Criteria) this;
        }

        public Criteria andAssessNumberNotBetween(String value1, String value2) {
            addCriterion("assess_number not between", value1, value2, "assessNumber");
            return (Criteria) this;
        }

        public Criteria andAssessTypeIsNull() {
            addCriterion("assess_type is null");
            return (Criteria) this;
        }

        public Criteria andAssessTypeIsNotNull() {
            addCriterion("assess_type is not null");
            return (Criteria) this;
        }

        public Criteria andAssessTypeEqualTo(String value) {
            addCriterion("assess_type =", value, "assessType");
            return (Criteria) this;
        }

        public Criteria andAssessTypeNotEqualTo(String value) {
            addCriterion("assess_type <>", value, "assessType");
            return (Criteria) this;
        }

        public Criteria andAssessTypeGreaterThan(String value) {
            addCriterion("assess_type >", value, "assessType");
            return (Criteria) this;
        }

        public Criteria andAssessTypeGreaterThanOrEqualTo(String value) {
            addCriterion("assess_type >=", value, "assessType");
            return (Criteria) this;
        }

        public Criteria andAssessTypeLessThan(String value) {
            addCriterion("assess_type <", value, "assessType");
            return (Criteria) this;
        }

        public Criteria andAssessTypeLessThanOrEqualTo(String value) {
            addCriterion("assess_type <=", value, "assessType");
            return (Criteria) this;
        }

        public Criteria andAssessTypeLike(String value) {
            addCriterion("assess_type like", value, "assessType");
            return (Criteria) this;
        }

        public Criteria andAssessTypeNotLike(String value) {
            addCriterion("assess_type not like", value, "assessType");
            return (Criteria) this;
        }

        public Criteria andAssessTypeIn(List<String> values) {
            addCriterion("assess_type in", values, "assessType");
            return (Criteria) this;
        }

        public Criteria andAssessTypeNotIn(List<String> values) {
            addCriterion("assess_type not in", values, "assessType");
            return (Criteria) this;
        }

        public Criteria andAssessTypeBetween(String value1, String value2) {
            addCriterion("assess_type between", value1, value2, "assessType");
            return (Criteria) this;
        }

        public Criteria andAssessTypeNotBetween(String value1, String value2) {
            addCriterion("assess_type not between", value1, value2, "assessType");
            return (Criteria) this;
        }

        public Criteria andAssessStandardIsNull() {
            addCriterion("assess_standard is null");
            return (Criteria) this;
        }

        public Criteria andAssessStandardIsNotNull() {
            addCriterion("assess_standard is not null");
            return (Criteria) this;
        }

        public Criteria andAssessStandardEqualTo(String value) {
            addCriterion("assess_standard =", value, "assessStandard");
            return (Criteria) this;
        }

        public Criteria andAssessStandardNotEqualTo(String value) {
            addCriterion("assess_standard <>", value, "assessStandard");
            return (Criteria) this;
        }

        public Criteria andAssessStandardGreaterThan(String value) {
            addCriterion("assess_standard >", value, "assessStandard");
            return (Criteria) this;
        }

        public Criteria andAssessStandardGreaterThanOrEqualTo(String value) {
            addCriterion("assess_standard >=", value, "assessStandard");
            return (Criteria) this;
        }

        public Criteria andAssessStandardLessThan(String value) {
            addCriterion("assess_standard <", value, "assessStandard");
            return (Criteria) this;
        }

        public Criteria andAssessStandardLessThanOrEqualTo(String value) {
            addCriterion("assess_standard <=", value, "assessStandard");
            return (Criteria) this;
        }

        public Criteria andAssessStandardLike(String value) {
            addCriterion("assess_standard like", value, "assessStandard");
            return (Criteria) this;
        }

        public Criteria andAssessStandardNotLike(String value) {
            addCriterion("assess_standard not like", value, "assessStandard");
            return (Criteria) this;
        }

        public Criteria andAssessStandardIn(List<String> values) {
            addCriterion("assess_standard in", values, "assessStandard");
            return (Criteria) this;
        }

        public Criteria andAssessStandardNotIn(List<String> values) {
            addCriterion("assess_standard not in", values, "assessStandard");
            return (Criteria) this;
        }

        public Criteria andAssessStandardBetween(String value1, String value2) {
            addCriterion("assess_standard between", value1, value2, "assessStandard");
            return (Criteria) this;
        }

        public Criteria andAssessStandardNotBetween(String value1, String value2) {
            addCriterion("assess_standard not between", value1, value2, "assessStandard");
            return (Criteria) this;
        }

        public Criteria andAssessObjectIsNull() {
            addCriterion("assess_object is null");
            return (Criteria) this;
        }

        public Criteria andAssessObjectIsNotNull() {
            addCriterion("assess_object is not null");
            return (Criteria) this;
        }

        public Criteria andAssessObjectEqualTo(String value) {
            addCriterion("assess_object =", value, "assessObject");
            return (Criteria) this;
        }

        public Criteria andAssessObjectNotEqualTo(String value) {
            addCriterion("assess_object <>", value, "assessObject");
            return (Criteria) this;
        }

        public Criteria andAssessObjectGreaterThan(String value) {
            addCriterion("assess_object >", value, "assessObject");
            return (Criteria) this;
        }

        public Criteria andAssessObjectGreaterThanOrEqualTo(String value) {
            addCriterion("assess_object >=", value, "assessObject");
            return (Criteria) this;
        }

        public Criteria andAssessObjectLessThan(String value) {
            addCriterion("assess_object <", value, "assessObject");
            return (Criteria) this;
        }

        public Criteria andAssessObjectLessThanOrEqualTo(String value) {
            addCriterion("assess_object <=", value, "assessObject");
            return (Criteria) this;
        }

        public Criteria andAssessObjectLike(String value) {
            addCriterion("assess_object like", value, "assessObject");
            return (Criteria) this;
        }

        public Criteria andAssessObjectNotLike(String value) {
            addCriterion("assess_object not like", value, "assessObject");
            return (Criteria) this;
        }

        public Criteria andAssessObjectIn(List<String> values) {
            addCriterion("assess_object in", values, "assessObject");
            return (Criteria) this;
        }

        public Criteria andAssessObjectNotIn(List<String> values) {
            addCriterion("assess_object not in", values, "assessObject");
            return (Criteria) this;
        }

        public Criteria andAssessObjectBetween(String value1, String value2) {
            addCriterion("assess_object between", value1, value2, "assessObject");
            return (Criteria) this;
        }

        public Criteria andAssessObjectNotBetween(String value1, String value2) {
            addCriterion("assess_object not between", value1, value2, "assessObject");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}